package com.collection.api.sys;

import java.util.List;
import java.util.Map;
import com.collection.api.entity.sys.SysUser;

public interface SysUserService {

	/**
     * 根据用户名查找用户
     * @param userName 用户名
     */
    public SysUser findByUsername(String userName);
    
    /**
     * 功能描述:通过条件查找用户列表
     * @param userName 用户名
     * @param realName 真实姓名
     * @param mobile 手机号
     * @param userType 用户类型
     * @param offset 第几页
     * @param limit 每页条数
     * @return
     */
    List<Map<String, Object>> findUserList(String userName, String realName,String mobile,String userType,Integer offset, Integer limit);
    /**
     * 功能描述:通过条件统计用户数目
     * @param userName 用户名
     * @param realName 真实姓名
     * @param mobile 手机号
     * @param userType 用户类型
     * @return
     */
    int countUserList(String userName,String realName,String mobile,String userType);
    
    /**
     * 功能描述：通过手机号统计用户数目
     * @param mobile 手机号码
     * @return
     */
    int countUserByMobile(String mobile);
    
    /**
     * 功能描述：增加用户
     * @param record 用户信息
     * @return
     */
    int insertSelective(SysUser record);
    
    /**
     * 根据用户id查询用户信息
     * @param id 用户id
     * @return
     */
    SysUser selectByPrimaryKey(Integer id);
    
    /**
     * 功能描述：修改用户信息
     * @param record 用户信息
     * @return
     */
    int updateByPrimaryKeySelective(SysUser record);
    
    /**
     * 功能描述:锁定用户
     * @param id 用户id
     */
    int lockedUser(Integer id);
    
    /**
     * 功能描述:解锁用户
     */
    int openUser(Integer id);
    /**
     * 功能描述:条件查询所有用户信息(无分页)
     * @param realName 真实姓名
     * @param mobile 手机号码
     * @param type 用户类型
     * @param locked 锁定状态
     * @param roleId 用户角色类型
     * @param password 密码
     * @param nameOrMobile 姓名或手机号码
     * @return
     */
    public List<SysUser> getUserByParam(String realName,String mobile, String type,String locked,String roleId,String password,String nameOrMobile);
}
